A Database Rule Language Compiler Supporting Parallelism
نویسندگان
چکیده
This paper presents an extension to a database rule language Comp& to support parallelism. The rule language is called RDLIIC and is based on an extended orrsion of tuple relational calculus. The grain of parallelism introduced into RDL//C is the production rule. The user is made aware of parallel processing by having to specify in a sub-language of control which sets of r&s are to run in parallel and in which order. From the user view point, the parallelism is managed as a partial order over a set of rules. The compiler translates rule programs into C based applications which run over the DBMS. Our implementation is OLW P set of UNIX workstations which corresponds to a MIMD shared-nothing architecture. Parallelism is achieved by having the application connect to different DBMS ScIzIcrs residing on workstations on a local network. Initial performance results are presented. They show the advantages and limitations of parallel execution in this architecture. The main contributions of the paper are (i) the definition of a sub-language of control to specify a parallel execution of a ru& program and (ii) to show how pdrallel extensions can be brought to a rule language compiler using P standard distributed enoironment with a relational DBMS.
منابع مشابه
Multigame — A Very High Level Language for Describing Board Games
Languages with implicit parallelism are easier to program in than those with explicit parallelism, but finding and efficiently exploiting parallelism in general-purpose programming languages by parallelizing compilers is hard. A compiler for a Very High Level Language, designed for a specific application domain, has more knowledge about its application domain and may use this knowledge to gener...
متن کاملSYMPAL: a software environment for implicit concurrent object-oriented programming
Large-scale parallel machines hold great potential for attaining high-performance computing. However, writing explicit parallel programs that correctly manage parallelism among thousands of processes, thus utilizing the power of parallel machines, is a highly complicated task. This paper presents a practical parallel programming environment, SYMPAL, designed to achieve a high level of parallel ...
متن کاملImplementing a Non-Strict Functional Programming Language on a Threaded Architecture
The combination of a language with ne-grain implicit parallelism and a data ow evaluation scheme is suitable for high-level programming on massively parallel architectures. We are developing a compiler of V, a non-strict functional programming language, for EARTH(E cient Architecture for Running THreads). Our compiler generates codes in ThreadedC, which is a lower-level programming language for...
متن کاملIn Ipps'93: International Parallel Processing Symposium Explicit Parallel Structuring for Rule-based Programming
This paper presents semantically-based explicit parallel structuring for rule-based programming systems. Explicit parallel structuring appears to be necessary since compile-time dependency analysis of sequential programs has not yielded large scale parallelism and run-time analysis for parallelism is restricted by the execution cost of the analysis. Simple language extensions specifying semanti...
متن کاملTask Parallelism and Synchronization: An Overview of Explicit Parallel Programming Languages
Programming parallel machines as effectively as sequential ones would ideally require a language that provides high-level programming constructs in order to avoid the programming errors frequent when expressing parallelism. Since task parallelism is often considered more error-prone than data parallelism, we survey six popular and efficient parallel programming languages that tackle this diffic...
متن کامل